開放源始碼(Open Source)的應用程式框架 (Web Application Framework)
, 擁有活躍的開發者社群世界上最大的開源函式庫(open source libraries)生態系統
高效率
且非同步(asynchronous)
服務器端語言(server-side programming) 而設計的, 因次不需延遲等待當然, 服務器端語言不是只有 Node.js
服務器端語言是使用編程語言/框架編(programming language/frameworks)而去寫的,例如 PHP、Java/JSP、Ruby on Rails、ASP.NET、Python、Perl、JS (Node.js) 等等, 不過這邊我們主要是會從 Node.js 著手。Web 服務器包含運行這些程序並將其 output 傳送回去。Node.js 已被各大公司企業廣泛使用, 像是 Amazon, Netflix, LinkedIn, PayPal, Uber... Node.js 解決了許多全球頂尖大規模組織的一系列產品生產所面臨的挑戰。有些與平台相關,而另一些則側重於資源利用。據 Hackernoon 報導,Netflix、Linkedin、 Paypal 都承認加載時間 (loading-time)最多可節省 60%。
Credit: https://nodejs.org/en/user-survey-report/
對此議題有興趣的你可以繼續參考這篇文章: Why we use Node.js?
執行環境 (runtime environmnet)
, V8是主流瀏覽器
, 接著搭配一系列 C/C++ 的套件
, 用於使用相同的核心語言功能運行 JavaScript 程序
, 但是在瀏覽器之外
。無法
訪問瀏覽器的物件或是功能(例如: document (文檔)、window (窗口)、addEventListener、DOM 節點)。Credit: node-js-architecture
在這邊做個Client
和 Server
差異的對比總整理:
Client-Side:
events
, 例如: 使用者點擊網頁上的按鈕Server-Side:
// 檢查 Node.js 是否安裝成功
node -v
a.使用節點(無 arguments)啟動互動式 REPL。這個 REPL 很像 Chrome 瀏覽器的 JS 控制台選項卡。REPL
代表Read Evaluate Print Loop
。它是一種允許你一次運行一行 code 的工具。REPL 風格的工具存在 於大多數程式語言中。)明天我們會來做個簡單的 Node.js project!